unsigned long m_pteval;
m_pteval = translate_domain_pte(pteval, address, itir,
&logps, &entry);
- vcpu_itc_no_srlz(current, (is_data ? 2 : 1) | 4,
- address, m_pteval, pteval, logps, &entry);
+ vcpu_itc_no_srlz(current, is_data ? 2 : 1, address,
+ m_pteval, pteval, logps, &entry);
if ((fault == IA64_USE_TLB && !current->arch.dtlb.pte.p) ||
p2m_entry_retry(&entry)) {
/* dtlb has been purged in-between. This dtlb was
else
vhpt_insert(vaddr, pte, PAGE_SHIFT << 2);
#endif
- if (IorD & 0x4) /* don't place in 1-entry TLB */
- return;
- if (IorD & 0x1) {
- vcpu_set_tr_entry(&PSCBX(vcpu, itlb), mp_pte, ps << 2, vaddr);
- }
- if (IorD & 0x2) {
- vcpu_set_tr_entry(&PSCBX(vcpu, dtlb), mp_pte, ps << 2, vaddr);
- }
}
IA64FAULT vcpu_itc_d(VCPU * vcpu, u64 pte, u64 itir, u64 ifa)
vcpu_flush_tlb_vhpt_range(ifa, logps);
goto again;
}
+ vcpu_set_tr_entry(&PSCBX(vcpu, dtlb), pte, itir, ifa);
return IA64_NO_FAULT;
}
vcpu_flush_tlb_vhpt_range(ifa, logps);
goto again;
}
+ vcpu_set_tr_entry(&PSCBX(vcpu, itlb), pte, itir, ifa);
return IA64_NO_FAULT;
}